Remove the items even if there are no items set.
authorJohan Dahlin <johan@gnome.org>
Fri, 25 Jan 2008 18:00:15 +0000 (18:00 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Fri, 25 Jan 2008 18:00:15 +0000 (18:00 +0000)
2008-01-25  Johan Dahlin  <johan@gnome.org>

* gtk/gtk-builder-convert
(GtkBuilderConverter._convert_combobox_items): Remove the items
even if there are no items set.
(GtkBuilderConverter._add_action_from_menuitem): Convert toggled
signals and tooltips for all menu items subclasses and
GtkImageMenuItem:label.
Makes it possible to fully convert and run Jokosher.glade.

svn path=/trunk/; revision=19404

ChangeLog
gtk/gtk-builder-convert

index f0afbf53e546427ac36c45d48fb4107506aa359f..762ccb54759524cb6bbfc78ef0d1a7b9f311b200 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-01-25  Johan Dahlin  <johan@gnome.org>
+
+       * gtk/gtk-builder-convert
+       (GtkBuilderConverter._convert_combobox_items): Remove the items
+       even if there are no items set.
+       (GtkBuilderConverter._add_action_from_menuitem): Convert toggled
+       signals and tooltips for all menu items subclasses and 
+       GtkImageMenuItem:label. 
+       Makes it possible to fully convert and run Jokosher.glade.
+
 2008-01-25  Johan Dahlin  <johan@gnome.org>
 
        * gtk/gtkwidget.c: (gtk_widget_buildable_interface_init),
index 9840ad957a04bd865e22bbfd1cd78bbb22e974e1..53fcb90c532cd21d67bf64b290989abffc60695b 100755 (executable)
@@ -381,7 +381,7 @@ class GtkBuilderConverter(object):
         return menu
 
     def _menuitem_to_action(self, node, properties):
-        copy_properties(node, ['label'], properties)
+        copy_properties(node, ['label', 'tooltip'], properties)
 
     def _togglemenuitem_to_action(self, node, properties):
         self._menuitem_to_action(node, properties)
@@ -413,6 +413,7 @@ class GtkBuilderConverter(object):
                 child = get_property_node(image, 'stock')
                 if child is not None:
                     properties['stock_id'] = child
+            self._menuitem_to_action(node, properties)
         elif object_class == 'GtkSeparatorMenuItem':
             return
         else:
@@ -430,7 +431,7 @@ class GtkBuilderConverter(object):
 
         for signal in get_signal_nodes(node):
             signal_name = signal.getAttribute('name')
-            if signal_name == 'activate':
+            if signal_name in ['activate', 'toggled']:
                 action.appendChild(signal)
             else:
                 print 'Unhandled signal %s::%s' % (node.getAttribute('class'),
@@ -528,7 +529,9 @@ class GtkBuilderConverter(object):
         prop.childNodes[0].data = adj.getAttribute('id')
 
     def _convert_combobox_items(self, node, prop):
+        parent = prop.parentNode
         if not prop.childNodes:
+            parent.removeChild(prop)
             return
         value = prop.childNodes[0].data
         model = self._create_root_object("GtkListStore",
@@ -553,7 +556,6 @@ class GtkBuilderConverter(object):
             col.appendChild(self._dom.createTextNode(item))
             row.appendChild(col)
 
-        parent = prop.parentNode
         model_prop = self._dom.createElement('property')
         model_prop.setAttribute('name', 'model')
         model_prop.appendChild(